Speculative Run-Time Parallelization of Loopsy

نویسنده

  • Lawrence Rauchwerger
چکیده

Current parallelizing compilers cannot identify a signiicant fraction of fully parallel loops because they have complex or statically insuuciently deened access patterns. Since fully parallel loops arise frequently in practice, we have developed methods to speculatively execute loops concurrently. These methods can be applied to any loop, even if the iteration space of the loop is unknown, as in WHILE Loops or DO Loops with conditional exits. To verify the validity of our speculation, we have devised a fully parallel run-time technique for detecting the presence of cross-iteration data dependences in loops. This technique can also be used to eliminate some memory-related dependences by dynamically privatizing scalars and arrays. We outline a cost/performance analysis that can be performed to decide when the methods should be used. Our conclusion is that they should almost always be applied { because, as we show, the expected speedup for fully parallel loops is signiicant, and the cost of a failed speculation (a not fully parallel loop), is minimal. We present experimental results on loops from the PERFECT Benchmarks which substantiate our conclusion that these techniques can yield signiicant speedups. representative of the positions or policies of the Army or the Government.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Feasibility Study of Hardware Speculative Parallelization in Snoop-Based Multiprocessors

Run-time parallelization is a technique for par-allelizing programs with data access patterns dif-cult to analyze at compile time. In this paper we examine the hardware implementation of a run-time parallelization scheme, called speculative parallelization, on snoop-based multiproces-sors. The implementation is based on the idea of embedding dependence checking logic into the cache controller o...

متن کامل

Techniques for Speculative Run - Time Parallelization ofLoopsManish

This paper presents a set of new run-time tests for speculative parallelization of loops that defy par-allelization based on static analysis alone. It presents a novel method for speculative array privatization that is not only more eecient than previous methods when the speculation is correct, but also does not require rolling back the computation in case the variable is found not to be privat...

متن کامل

Second - level Instruction Cache Thread Processing Unit Thread Processing Unit Thread Processing Unit Instruction Cache First - level First - level First - level Instruction Cache Instruction Cache Execution

This paper presents a new parallelization model, called coarse-grained thread pipelining, for exploiting speculative coarse-grained parallelism from general-purpose application programs in shared-memory multiprocessor systems. This parallelization model, which is based on the ne-grained thread pipelining model proposed for the superthreaded architecture 11, 12], allows concurrent execution of l...

متن کامل

Hardware for Speculative Run-Time Parallelization in Distributed Shared-Memory Multiprocessors

Run-time parallelization is often the only way to execute the code in parallel when data dependence information is incomplete at compile time. This situation is common in many important applications. Unfortunately, known techniques for run-time parallelization are often computationally expensive or not general enough. To address this problem, we propose new hardware support for e cient run-time...

متن کامل

The LRPD Test: Speculative Run–Time Parallelization of Loops with Privatization and Reduction Parallelization

Current parallelizing compilers cannot identify a significant fraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. As parallelizable loops arise frequently in practice, we advocate a novel framework for their identification: speculatively execute the loop as a doall, and apply a fully parallel data dependence test to determine if it ha...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994